package br.folhapgto.dao;

import br.folhapgto.dao.banco.Conexao;
import br.folhapgto.model.Empregado;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

public class EmpregadoDAO {

    public Empregado carregaDados(ResultSet rs) throws SQLException
    {
    	Empregado empregado = new Empregado();

    	empregado.setIdEmpregado(rs.getInt("idEmpregado"));
        empregado.setNome(rs.getString("nome"));
        empregado.setEndereco(rs.getString("endereco"));
        empregado.setSindicato(rs.getInt("sindicato"));
        empregado.setTipoContrato(rs.getInt("tipoContrato"));


        return empregado;
    }

    public List<Empregado> lerTodos()
    {
    	Statement stmt = null;
        List<Empregado> empregados = new ArrayList<Empregado>();
        
        Connection conn = Conexao.getInstanciaUnica().criaConexao();

        if (conn != null) {
            try {
                stmt = conn.createStatement();
                ResultSet rs = stmt.executeQuery(
                        "SELECT * FROM TB_EMPREGADO");
                rs.beforeFirst();
                while (rs.next()) {
                	empregados.add(carregaDados(rs));
                }
                conn.close();
            } catch (SQLException ex) {
                ex.printStackTrace();
            } finally {
                try {
                    if (stmt != null) {
                        stmt.close();
                    }
                    if (conn != null) {
                        conn.close();
                    }
                } catch (SQLException e) {
                    System.out.println(e.getMessage());
                }
            }
        }
        return empregados;
    }
}
